bd7a6fd551188d186912a1d6e98b055009a1375d,ob1k-concurrent/src/main/java/com/outbrain/ob1k/concurrent/combiners/Combiner.java,Combiner,combine,#ComposableFuture#ComposableFuture#ComposableFuture#TriFunction#,274
Before Change
elements.put(secondKey, upliftSecond);
elements.put(thirdKey, upliftThird);
return all(true, elements).continueOnSuccess(new SuccessHandler<Map<String, TriContainer<T1, T2, T3>>, R>() {
@Override
public R handle(final Map<String, TriContainer<T1, T2, T3>> result) throws ExecutionException {
final TriContainer<T1, T2, T3> firstContainer = result.get(firstKey);
final TriContainer<T1, T2, T3> secondContainer = result.get(secondKey);
final TriContainer<T1, T2, T3> thirdContainer = result.get(thirdKey);
return combiner.apply(firstContainer.first, secondContainer.second, thirdContainer.third);
}
});
}
After Change
elements.put(secondKey, upliftSecond);
elements.put(thirdKey, upliftThird);
return all(true, elements).map(result -> {
final TriContainer<T1, T2, T3> firstContainer = result.get(firstKey);
final TriContainer<T1, T2, T3> secondContainer = result.get(secondKey);
final TriContainer<T1, T2, T3> thirdContainer = result.get(thirdKey);
try {
return combiner.apply(firstContainer.first, secondContainer.second, thirdContainer.third);
} catch (final ExecutionException e) {
throw new UncheckedExecutionException(e.getCause());
}
});
}